package com.kgc.sportscircle.impl;

import com.kgc.sportscircle.pojo.Mallproduct;
import com.kgc.sportscircle.dao.MallproductMapper;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import com.kgc.sportscircle.utils.Page;
import javax.annotation.Resource;
import com.kgc.sportscircle.vo.MallproductParam;
import com.alibaba.dubbo.config.annotation.Service;
import com.kgc.sportscircle.service.MallproductService;
/**
* 描述： 服务实现层接口
* @author 杨海文
* @date 2019/07/22
*/
@Service(timeout = 50000,retries = 2,version = "1.11",interfaceClass=MallproductService.class)
public class MallproductServiceImpl implements MallproductService{
	@Resource
	private MallproductMapper mallproductMapper;
 	
 	/**
    * 描述：根据Id获取Mallproduct对象
    * @param id
    */
    public Mallproduct findById(Integer id){
    	return mallproductMapper.findById(id);
    }
    /**
    * 描述：获取所有的Mallproduct对象
    */
    public List<Mallproduct> findAll(){
    	return mallproductMapper.findAll();
    }

	/**
    * 描述：新增保存Mallproduct对象
    */
    public int save(Mallproduct mallproduct){
    	return  mallproductMapper.save(mallproduct);
    }

	/**
    * 描述：根据Id删除Mallproduct对象
    * @param id
    */
    public int delete(Serializable id){
    	return  mallproductMapper.delete(id);
    }
	
	/**
    * 描述：更新Mallproduct对象
    */
    public int update(Mallproduct mallproduct){
    	return  mallproductMapper.update(mallproduct);
    }
    
    /**
     * 根据不确定的条件，动态查询
     */
    public List<Mallproduct> query(MallproductParam param){
    	return  mallproductMapper.query(param);
    }
    
    /**
     * 根据不确定的条件，动态分页查询
     */
    public Page queryByPage(MallproductParam param){
    	Page page = new Page();
    	if(param.isPage()){
			int totalCount = mallproductMapper.getCount(param);
			int totalPageCount = (totalCount-1)/page.getPageSize()+1;
			if(param.getPageIndex()<1){
				param.setPageIndex(1);
			}else if(param.getPageIndex()>totalPageCount){
				param.setPageIndex(totalPageCount);
			}
			List list = mallproductMapper.query(param);

			page.setTotalCount(totalCount);
			page.setTotalPageCount(totalPageCount);
    		page.setPageNo(param.getPageIndex());
   			page.setPageSize(param.getSize());
			page.setList(list);
		}
    	return page;
    	
    }

	/**
	 * 根据推荐表查询商品
	 */
	public List<Mallproduct> selectAllProductByrecommend() {
		return mallproductMapper.selectAllProductByrecommend();
	}

	/**
	 * 随机查询
	 * @return
	 */
	public List<Mallproduct> selectAllProductRandom() {
		return mallproductMapper.selectAllProductRandom();
	}

	/**
	 * 查询最新产品
	 * @return
	 */
	public List<Mallproduct> selectNewProduct() {
		return mallproductMapper.selectNewProduct();
	}

	/**
	 * 根据二级分类查询商品
	 */

	public List<Mallproduct> selectProductByCategoryLevel2Id(Integer categoryLevel2Id) {
		return mallproductMapper.selectProductByCategoryLevel2Id(categoryLevel2Id);
	}

	/**
	 * 根据skuid
	 * @param skuid
	 * @return
	 */
	public Mallproduct selectProductBySkuId(String skuid) {
		return mallproductMapper.selectProductBySkuId(skuid);
	}


}
